%figure_8_4()

close all;

% Let's set some parameters
f = 100; %Hz
omega = 2*pi*f; % radians
z_source = 25; %m
z_receiver = 50; %m
d = 100; %m, depth
c = 1500; %m/s sound speed

% Define the range vector
r = 0:1:50e3; %m

figWidth = 1920/2; % pixels
figHeight = 1200;
rect = [0 50 figWidth figHeight];
figure('OuterPosition', rect, 'name', 'Transmission loss for isovelocity problem');
for i = 1:3;
    num_modes = i;
    m = 1:num_modes;


    k_rm = sqrt((omega/c)^2 - ((m-0.5)*(pi/d)).^2); % rad/m
    k_zm = pi/d .* (m-0.5); % rad/m

    A_m = sin(k_zm.*z_source).*sin(k_zm.*z_receiver) ./ sqrt(k_rm);
    mode_sinusoids = exp(1j.*k_rm'*r);
    % Add amplitudes
    A_mode_sinusoids = bsxfun(@times, A_m', mode_sinusoids);

    I = 8*pi ./ (r*d^2) .* (abs(sum(A_mode_sinusoids))).^2;

    subplot(3,1,i);
    plot(-10*log10(I));
    set(gca,'YDir','Reverse')
    ylim([50 90]);
    xlim([0 50e3]);
    xlabel('Range (km)');
    ylabel('Loss (dB)');
    title([num2str(num_modes) ' Mode(s)']);
end